1、首先通过Idea创建一个Maven项目,参考IDEA Maven父子项目操作(不是微服务架构,所以参考子项目的创建即可). 2、修改pom.xml 导入spring boot2相关的依赖 (1) 、引入spring boot2框架 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent 因为通过pom引入spring boot2,spring boot2会引入框架默认依赖的所有组件,方便开发,也是约定大于配置的一种体现,但是有些特殊业务需求,某个模块需要升级某一个组件的版本,这里拿junit 组件举例,spring boot2默认引用 如果项目中需要junit,其pom.xml如下: 那么项目默认会使用spring boot2中的junit版本 参考父子项目,如果此时需要在项目中使用自定义的 boot2!"
学习SpringBoot集成Mybatis的第二章,了解到Mybatis自带的缓存机制,在部署的时候踩过了一些坑。在此记录和分享一下Mybatis的缓存作用。
Spring Boot2: 快速入门指南 [Spring Boot2] 简述 对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻 这也是为什么Spring 环境 jdk1.8 IntelliJ IDEA 2020.3 Spring Boot 2.3.0 Maven 快速创建Spring Boot项目 访问 https://start.spring.io/ --阿里云代理Spring 官方仓库--> <repository> <id>spring-milestones</id> <name>Spring --阿里云代理Spring 插件仓库--> <pluginRepository> <id>spring-plugin</id> <name >spring-plugin</name> <url>https://maven.aliyun.com/repository/spring-plugin</url>
在redis目录下输入:redis-server.exe redis.windows.conf启动即可 另外可以通过Redis桌面客户端可视化连接工具操作:redisdesktop 代码部署 快速建立Spring Boot项目 添加redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis </artifactId> </dependency> application.yml配置 spring: redis: host: 127.0.0.1 database: 0
mybatis-spring-boot-starter就是 Spring Boot+ Mybatis 可以完全注解不用配置文件,也可以简单配置轻松上手。 mybatis-spring-boot-starter 官方说明:MyBatis Spring-Boot-Starter will help you use MyBatis with Spring Boot 其实就是 Mybatis 看 Spring Boot 这么火热也开发出一套解决方案来凑凑热闹,但这一凑确实解决了很多问题,使用起来确实顺畅了许多。 mybatis-spring-boot-starter主要有两种解决方案,一种是使用注解解决一切问题,一种是简化后的老传统。 当然任何模式都需要首先引入mybatis-spring-boot-starter的 Pom 文件,现在最新版本是 2.0.1 <dependency> <groupId>org.mybatis.spring.boot
将Spring Boot升级到2.0,Spring Cloud升级到Finchley.M8时,Eureka注册就报错了 Eureka Server配置: server.port=9011 spring.application.name =eureka-server spring.security.user.name=username spring.security.user.password=pass eureka.instance.hostname =eureka-client spring.security.basic.enabled=true spring.security.user.name=username spring.security.user.password ThreadPoolExecutor.java:617) [na:1.8.0_92] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92 去掉Spring Security后问题解决,可以知道问题是Spring Security引起的 CSRF保护默认是开启的,可以禁用掉即可 解决方案如下: @EnableWebSecurity static class
1.创建工程 首先创建一个 Spring Boot 工程,引入 Freemarker 依赖,如下图: ? spring.freemarker.allow-session-override=false spring.freemarker.cache=false spring.freemarker.charset =UTF-8 spring.freemarker.check-template-location=true spring.freemarker.content-type=text/html spring.freemarker.expose-request-attributes =false spring.freemarker.expose-session-attributes=false spring.freemarker.suffix=.ftl spring.freemarker.template-loader-path 结语 本文和大家简单聊一聊 Spring Boot 整合 Freemarker,算是对 Spring Boot2 教程的一个补充(后面还会有一些补充),有问题欢迎留言讨论。
-- MyBatis整合所需--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> id查询一个用户 UserMapper.Java @Mapper //表示当前 Mapper(就是以前的Dao)被Spring管理, //相对于以前的Spring的: Dao接口 dao = session.getMapper value、cacheNames:两个等同的参数 cacheNames为Spring 4新增,作为value的别名, 用于指定缓存存储的集合名。 由于Spring 4中新增了@CacheConfig,因此在Spring 3中原本必须有的value属性,也成为非必需项了 key: 缓存对象存储在Map集合中的key值,非必需,缺省按照函数的所有参数组合作为
github项目地址:github.com/niaobulashi… springboot学习地址:www.ityouknow.com/spring-boot… shiro学习地址:jinnianshilongnian.iteye.com 可以作为单独的项目运行,我已经将这部分的模块移植到了niaobulashi-admin 技术选型 核心框架:Spring Boot 2.1 安全框架:Apache Shiro 1.4 视图框架:Spring 会生成相应项目的jar包,放在Linux目标目录下,执行java -jar 包名 运行可能会遇到的问题 启动可能报错,mysql严格区分大小写,可能找不到表,解决方案:mysql不区分大小写 没有/tmp/spring.log 目录权限,解决方案:在root用户下,添加写权限sudo chmod 777 spring.log 登陆页面的验证码显示乱码,原因:linux没有安装字体,解决方案:linux安装字体 根据项目信息截图
Spring Boot2: 快速入门指南 [Spring Boot2] 简述 对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻 这也是为什么Spring 环境 jdk1.8 IntelliJ IDEA 2020.3 Spring Boot 2.3.0 Maven 快速创建Spring Boot项目 访问 https://start.spring.io/ --阿里云代理Spring 官方仓库--> <repository> <id>spring-milestones</id> <name>Spring --阿里云代理Spring 插件仓库--> <pluginRepository> <id>spring-plugin</id> <name >spring-plugin</name> <url>https://maven.aliyun.com/repository/spring-plugin</url>
今天松哥就来和大家聊聊 Spring Boot 中使用 Ehcache 的情况。 相信看完本文,大家对于[Spring Boot2 系列教程(二十六)Spring Boot 整合 Redis]一文中的第二种方案会有更加深刻的理解。 Spring Cache 来实现的。 和 Spring Cache + Redis 相比,Spring Cache + Ehcache 主要是配置有所差异,具体的用法是一模一样的。我们来看下使用步骤。 相信读完本文,大家对于 Redis + Spring Cache 的用法会有更深的认识。
今天要和大家聊的是在 Spring Boot 项目中,如何开启 https 配置,为我们的接口保驾护航。 将上面生成的 javaboy.p12 拷贝到 Spring Boot 项目的 resources 目录下。 配置完成后,就可以启动 Spring Boot 项目了,此时如果我们直接使用 Http 协议来访问接口,就会看到如下错误: ? 改用 https 来访问 ,结果如下: ? 请求转发 考虑到 Spring Boot 不支持同时启动 HTTP 和 HTTPS ,为了解决这个问题,我们这里可以配置一个请求转发,当用户发起 HTTP 调用时,自动转发到 HTTPS 上。 结语 Spring Boot 中加入 https 其实很方便。
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域 相对于 Shiro,在 SSM/SSH 中整合 Spring Security 都是比较麻烦的操作,所以,Spring Security 虽然功能比 Shiro 强大,但是使用反而没有 Shiro 多( 自从有了 Spring Boot 之后,Spring Boot 对于 Spring Security 提供了 自动化配置方案,可以零配置使用 Spring Security。 因此,一般来说,常见的安全管理技术栈的组合是这样的: SSM + Shiro Spring Boot/Spring Cloud + Spring Security 注意,这只是一个推荐的组合而已,如果单纯从技术上来说 1.项目创建 在 Spring Boot 中使用 Spring Security 非常容易,引入依赖即可: ?
早期的 Spring Boot 中还支持使用 Velocity 作为页面模板,现在的 Spring Boot 中已经不支持 Velocity 了,页面模板主要支持 Thymeleaf 和 Freemarker ,当然,作为 Java 最最基本的页面模板 Jsp ,Spring Boot 也是支持的,只是使用比较麻烦。 今天我们主要来看看 Thymeleaf 在 Spring Boot 中的整合! 整合 创建项目 Spring Boot 中整合 Thymeleaf 非常容易,只需要创建项目时添加 Thymeleaf 即可: ? </artifactId> </dependency> 当然,Thymeleaf 不仅仅能在 Spring Boot 中使用,也可以使用在其他地方,只不过 Spring Boot 针对 Thymeleaf
在 Java 领域,数据持久化有几个常见的方案,有 Spring 自带的 JdbcTemplate 、有 MyBatis,还有 JPA,在这些方案中,最简单的就是 Spring 自带的 JdbcTemplate 项目创建成功之后,记得添加 Druid 数据库连接池依赖(注意这里可以添加专门为 Spring Boot 打造的 druid-spring-boot-starter,而不是我们一般在 SSM 中添加的 =com.alibaba.druid.pool.DruidDataSource spring.datasource.username=root spring.datasource.password=123 spring.datasource.url=jdbc:mysql:///test01? 你能想到的 JDBC 的用法,在这里都能实现,Spring 提供的 JdbcTemplate 虽然不如 MyBatis,但是比起 Jdbc 还是要方便很多的。
在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro。 今天松哥就来和大家聊聊 Spring Boot 整合 Shiro 的话题! 一般来说,Spring Security 和 Shiro 的比较如下: Spring Security 是一个重量级的安全管理框架;Shiro 则是一个轻量级的安全管理框架 Spring Security 在 Spring Boot 中,由于 Spring Boot 官方提供了大量的非常方便的开箱即用的 Starter ,当然也提供了 Spring Security 的 Starter ,使得在 Spring Boot 中使用 Spring Security 变得更加容易,甚至只需要添加一个依赖就可以保护所有的接口,所以,如果是 Spring Boot 项目,一般选择 Spring Security 。
1、Spring Boot2 系列教程(一)纯 Java 搭建 SSM 项目 2、Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式 3、Spring Boot2 系列教程 (三)理解 spring-boot-starter-parent 4、Spring Boot2 系列教程(四)理解配置文件 application.properties ! 5、Spring Boot2 系列教程(五)Spring Boot中的 yaml 配置 6、Spring Boot2 系列教程(六)自定义 Spring Boot 中的 starter 7、Spring Boot2 系列教程(七)理解自动化配置的原理 8、Spring Boot2 系列教程(八)Spring Boot 中配置 Https 9、Spring Boot2 系列教程(九)Spring Boot 整合 Thymeleaf 10、Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
在前后端分离的项目中,登录策略也有不少,不过 JWT 算是目前比较流行的一种解决方案了,本文就和大家来分享一下如何将 Spring Security 和 JWT 结合在一起使用,进而实现前后端分离时的登录解决方案 2.1 环境搭建 首先我们来创建一个 Spring Boot 项目,创建时需要添加 Spring Security 依赖,创建完成后,添加 jjwt 依赖,完整的 pom.xml 文件如下: <dependency 2.3 Spring Security 配置 接下来我们来配置 Spring Security,如下: @Configuration public class WebSecurityConfig extends 总结 这就是 JWT 结合 Spring Security 的一个简单用法,讲真,如果实例允许,类似的需求我还是推荐使用 OAuth2 中的 password 模式。 不知道大伙有没有看懂呢? 如果没看懂,松哥还有一个关于这个知识点的视频教程,如下: Spring Security + JWT 视频教程
回顾热部署 Spring Boot 中的热部署相信大家都用过吧,只需要添加 spring-boot-devtools 依赖就可以轻松实现热部署。 Spring Boot 中热部署最最关键的原理就是两个不同的 classloader: base classloader restart classloader 其中 base classloader Spring Boot 中热部署的原理就是当代码发生变化时,base classloader 不变,而 restart classloader 则会被废弃,被另一个新的 restart classloader </groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional 整个过程中,我的 Spring Boot 项目并没有重启。
基本功能 当我们创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承自它,我们先来看第一种情况。 请注意,由于application.properties和application.yml文件接受Spring样式占位符 ${...} \.m2\repository\org\springframework\boot\spring-boot-starter-parent\2.1.7.RELEASE\spring-boot-starter-parent 最后,我们再根据它的 parent 中指定的 spring-boot-dependencies 位置,来看看 spring-boot-dependencies 中的定义: ? 总结 好了,一篇简单的文章,向大伙展示一下 Spring Boot 项目中 parent 的作用,有问题欢迎留言讨论。 ?